package com.cs.framework.common.exception;

import java.util.HashMap;
import java.util.Map;

/**
 * 框架的异常信息抽象类
 * 
 * @author hedongzhou
 * 
 */
public abstract class AbstractExceptionMessage implements ExceptionMessage {

	/**
	 * 存放异常信息
	 */
	protected Map<String, String> msg = new HashMap<String, String>();

	public AbstractExceptionMessage() {
		initMessage();
	}

	/**
	 * 初始化异常信息
	 */
	protected abstract void initMessage();

	/**
	 * 添加异常信息
	 * 
	 * @param code
	 *            异常信息编号
	 * @param message
	 *            异常信息内容
	 */
	protected void add(String code, String message) {
		msg.put(code, message);
	}

	/**
	 * 获取异常信息
	 * 
	 * @param code
	 *            异常信息编号
	 * @return
	 */
	public String getMessage(String code) {
		return msg.get(code);
	}

	/**
	 * 获取异常信息
	 * 
	 * @param code
	 *            异常信息编号
	 * @param params
	 *            异常信息动态内容
	 * @return
	 */
	public String getMessage(String code, Object... params) {
		return String.format(getMessage(code), params);
	}

}
